跳到主要内容

Transformer 框架是什么

Transformer 框架是什么

pipeline 函数

Transformers 库最基础的对象就是 pipeline() 函数,它封装了预训练模型和对应的前处理和后处理环节。我们只需输入文本,就能得到预期的答案。目前常用的 pipelines 有:

  • feature-extraction (获得文本的向量化表示)
  • fill-mask (填充被遮盖的词、片段)
  • ner(命名实体识别)
  • question-answering (自动问答)
  • sentiment-analysis (情感分析)
  • summarization (自动摘要)
  • text-generation (文本生成)
  • translation (机器翻译)
  • zero-shot-classification (零训练样本分类)

如果要使用 CUDA 则需要安装 torchtorchvision

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

SentenceTransformers 库

SentenceTransformers 是一个可以用于句子、文本和图像嵌入的Python库。 可以为 100 多种语言计算文本的嵌入并且可以轻松地将它们用于语义文本相似性、语义搜索和同义词挖掘等常见任务。

pip install -U sentence-transformers

Sentence-Transformers 使用分兩個部分

  • 使用 Pretrained Model 進行 Inference
  • Train你自己的 BERT 的model

因为 BERT embedding 的维度动辄就是 500, 700,后续运算不易,一般会直接用 PCA 来做 dimension reduction。而实际上 Sentence-Transformers 有很多已经针对特定问题预训练好的 Model 了,后面举两个例子。

References